// pages/index/goods/index.js
const app = getApp(); // 获取应用实例

Page({

  /**
   * 页面的初始数据
   */
  data: {
    code: '',
    showCode: '',
    id: '',
    sceneid: '',
    // 商品信息
    gimg: '',
    gname: '我的宝',
    gcode: '11111',
    gprice: 11,
    gdesc: '长宽高',
    gnum: '',
    ispop: 1, //弹窗：0不显示，1显示
    // 评论
    commentTotal: 0,
    commentlist: [
    //   {
    //     id: 1, nickname: '张三', 
    //     cnt: '11111', addtime: '2024-05-06'
    //   },
    //   {
    //     id: 2, nickname: '李四', 
    //     cnt: '11111', addtime: '2024-05-06'
    //   },
    ],
    // 关注
    followTotal: 0,
    followlist: [
    //   {
    //     id: 1, nickname: '11111', addtime: '2024-05-06',
    //   },
    //   {
    //     id: 2, nickname: '22222', addtime: '2024-05-06',
    //   },
    ],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options);
    this.setData({
        code: options.code,
        id: options.id,
        sceneid: options.sceneid,
    });
    this.getOne(options.id);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  // 获取数据
  getOne: function (v) {
    var that = this;
    wx.request({
      method: 'POST',
      url: app.globalData.domainXcx + '/goods/one',
      data: {id: v},
      timeout: 10000, //接口超时10S
      success: function (res) {
        res = res.data;
        console.log(res);
        if (res.code!=0) {
          wx.showToast({
            title: res.msg, icon: 'none'
          }); return
        }
        that.setData({
          gimg: res.data.img,
          gname: res.data.title,
          gcode: res.data.gcode,
          gprice: res.data.price,
          gdesc: res.data.describe,
          gnum: res.data.num,
          commentTotal: res.data.commentTotal,
          commentList: res.data.commentList,
          followTotal: res.data.followTotal,
          followList: res.data.followList,
          showCode: res.data.showCode,
        });
      },
      fail: function () {
        console.log('error');
      }
    });
  },

  // 返回
  toBack: function (e) {
    console.log(e);
    wx.navigateBack({
      delta: 1
    }); return
  },

  // 选择图片
  uploadImg: function (e) {
    wx.showLoading({
        title: '正在处理图片...',
    });
    wx.chooseImage({
        count: 1,
        sizeType: ['compressed'],
        sourceType: ['album', 'camera'],
        success: res => {
            // 获取文件路径
            const filePath = res.tempFilePaths[0];
            console.log(filePath);
            // 读取文件
            wx.getFileSystemManager().readFile({
                filePath: filePath,
                encoding: 'base64',
                success: res => {
                    // 将文件内容转换为base64字符串
                    const base64Data = 'data:image/png;base64,' + res.data;
                    // 可以在这里使用base64字符串
                    console.log(base64Data);
                    this.setData({
                        gimg: base64Data,
                    });
                    this.upload(base64Data);
                },
                fail: err => {
                    console.error('读取文件失败', err);
                    wx.showToast({
                      title: '读取文件失败', icon: 'none'
                    }); return
                }
            });
        },
        fail: err => {
            console.error('选择图片失败', err);
            wx.showToast({
              title: '选择图片失败', icon: 'none'
            }); return
        }
    });
  },

  // 上传图片
  upload: function (e) {
    var that = this;
    wx.request({
        method: 'POST',
        url: app.globalData.domainXcx + '/goods/upload',
        data: {id: this.data.id, base64: e},
        timeout: 10000, //接口超时10S
        success: function (res) {
            res = res.data;
            console.log(res);
            if (res.code!=0) {
                wx.showToast({
                    title: res.msg, icon: 'none'
                }); return
            }
            wx.showToast({
              title: '上传成功', icon: 'none'
            });
            that.viewReload();
        },
        fail: function () {
            console.log('error');
        }
    });
  },

  // 弹窗
  popShow: function (e) {
      console.log(e);
    this.setData({ ispop: 0 });
  },

  // 关闭弹窗
  popClose: function (e) {
    this.setData({ ispop: 1 });
  },

  // 商品名
  toGname: function (e) {
    this.setData({
        gname: e.detail.value,
    });
  },

  // 商品单价
  toGprice: function (e) {
    this.setData({
        gprice: e.detail.value,
    });
  },

  // 商品数量
  toGnum: function (e) {
    this.setData({
        gnum: e.detail.value,
    });
  },

  // 商品描述
  toGdesc: function (e) {
    this.setData({
        gdesc: e.detail.value,
    });
  },

  // 保存信息
  saveInfo: function (e) {
    var that = this;
    var formData = {
        id: this.data.id,
        gname: this.data.gname,
        gdesc: this.data.gdesc,
        gprice: this.data.gprice,
        gnum: this.data.gnum,
    };
    console.log(formData); //return
    wx.request({
        method: 'POST',
        url: app.globalData.domainXcx + '/goods/modify',
        data: formData,
        timeout: 10000, //接口超时10S
        success: function (res) {
            res = res.data;
            console.log(res);
            if (res.code!=0) {
                wx.showToast({
                    title: res.msg, icon: 'none'
                }); return
            }
            wx.showToast({
              title: '修改成功', icon: 'none'
            });
            that.viewReload();
        },
        fail: function () {
            console.log('error');
        }
    });
  },

  // 刷新页面
  viewReload: function (e) {
    var param = '?id=' + this.data.id;
    wx.navigateTo({
        url: '/pages/index/goods/index' + param,
    }); 
  },
})